package com.fh.modules.online.cgreport.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.fh.common.api.vo.Result;
import com.fh.modules.online.cgreport.entity.OnlCgreportHead;
import com.fh.modules.online.cgreport.model.OnlCgreportModel;

import java.util.List;
import java.util.Map;

/**
 * @description: 在线报表配置Service
 */
public interface IOnlCgreportHeadService extends IService<OnlCgreportHead> {

	/**
	 * 动态数据源： 获取SQL解析的字段
	 */
	 List<String> getSqlFields(String sql, String dbKey);


	/**
	 * 解析SQL参数
	 */
	 List<String> getSqlParams(String sql);

	/**
	 * 修改全部项，包括新增、修改、删除
	 *
	 * @param values
	 * @return
	 */
	Result<?> editAll(OnlCgreportModel values);

	/**
	 * 执行SQL语句
	 *
	 * @param sql
	 * @return
	 */
	Map<String, Object> executeSelectSql(String sql,Map<String,Object> params);

	List<Map<?,?>> queryByCgReportSql(String querySql, Map<String,Object> pageSearchFields, Map<String,Object> paramData, int i, int i1);

	Map<String,Object> queryCgReportConfig(String reportId);
}
